고성능 컴퓨팅에서의 근본적인 전환은 CPU 중심의 순차 실행 모델에서, CPU가 파이프라인을 관리하고 GPU가 독립적으로 작동하는 분리된 생산자-소비자 모델로의 전환입니다. 핵심 인식은 GPU는 엄격한 동기식 장치로 작동하도록 설계되지 않았다는 점입니다; 이를 동기식으로 다루면 '정지 후 대기'형 블로킹이 발생합니다.
1. 워크플로우 생명 주기
비동기적 사고방식에서는 개발자가 각 작업이 완료되기를 기다리지 않습니다. 대신 그들은 메모리 할당 메모리, 커널 실행 커널을 실행하고, 결과를 복사 결과를 하드웨어 큐에 비차단 요청으로 넣음으로써 처리합니다.
2. 정지 상태 극복
호스트가 매번 작업 후 동기화 해야만 하는 경우, 실행 간격(즉, CPU와 GPU 사이의 전송 시간)이 성능을 지배하게 됩니다. 비동기화를 활용함으로써 비동기성CPU는 계속 작업을 수행하면서도 GPU는 스트림을 처리할 수 있게 되어, 하드웨어 사용률을 최대화할 수 있습니다.
$$\text{총 시간} = \max(\text{CPU 작업}, \text{GPU 작업}) + \text{동기화 오버헤드}$$
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>